package global

type NaCosConf struct {
	Host        string `yaml:"Host"`
	Port        int    `yaml:"Port"`
	DataId      string `yaml:"DataId"`
	Group       string `yaml:"Group"`
	NamespaceId string `yaml:"NamespaceId"`
}
type MysqlConf struct {
	Username string `json:"Username" yaml:"Username"`
	Password string `json:"Password" yaml:"Password"`
	Host     string `json:"Host" yaml:"Host"`
	Port     int    `json:"Port" yaml:"Port"`
	Database string `json:"Database" yaml:"Database"`
}
type ZapConf struct {
	LogUrl string `json:"LogUrl" yaml:"LogUrl"`
	Stderr string `json:"Stderr" yaml:"Stderr"`
	Stdout string `json:"Stdout" yaml:"Stdout"`
}
type ConsulConf struct {
	Id   string   `json:"Id" yaml:"Id"`
	Name string   `json:"Name" yaml:"Name"`
	Tags []string `json:"Tags" yaml:"Tags"`
}
type UserConf struct {
	Host string `json:"Host" yaml:"Host"`
	Port int    `json:"Port" yaml:"Port"`
}
type JwtConf struct {
	SigningKey string `json:"SigningKey" yaml:"SigningKey"`
	ExpiresAt  int64  `json:"ExpiresAt" yaml:"ExpiresAt"`
}
type ServerConf struct {
	UserConf   *UserConf   `yaml:"UserConf" json:"UserConf"`
	MysqlConf  *MysqlConf  `json:"MysqlConf" yaml:"MysqlConf"`
	ConsulConf *ConsulConf `json:"ConsulConf" yaml:"ConsulConf"`
	ZapConf    *ZapConf    `json:"ZapConf" yaml:"ZapConf"`
	JwtConf    *JwtConf    `json:"JwtConf" yaml:"JwtConf"`
}
